<?php

class LoginHandler{
	
	//private $m_sessionLocation ="peter";
	private $m_sessionLocation ="sss";
	private $c_username ="peter";
	private $c_password ="php";
	private $w_username ="toni";
	private $w_password ="asp";
	
	
	public function IsLoggedIn(){
		//Öppnar en session
		if (isset ($_SESSION[$this->m_sessionLocation]) == true ){
			return TRUE;
		}
		return false;
		
	}
	
	public function DoLogin($username, $password){
	//gör två stycken arrayer med ett fel och en rätt värde	
		$users = array (
		array("lars", "ger"),
		array("peter", "php")
	
		);
	//kollar igen det som finns i arrayen genom att matcha rätt användanamn med rätt lösenord
	foreach ($users as $user){
		
		if($username == $user[0] && $password == $user[1]){
			
			$_SESSION[$this->m_sessionLocation] = "ff";
			return true;
			
		}
	}
		
	}
	
	public function DoLogout(){
		//Öppnar och stänger en session
		if (isset ($_SESSION[$this->m_sessionLocation]))
			unset ($_SESSION[$this->m_sessionLocation]); 
		
	}
	
	public function test(){
		
		//Börjar med att anropa DoLogout.
		$this->DoLogout();
		
		//Undersöker ifall man är inloggad.
		if($this->IsLoggedIn() == true )
		{
			echo "Något gick fel i IsLoggedIn";
			return false;
		}
		
		//Kollar ifall användarnamn och lösen är fel.
		if($this->DoLogin($this->w_username, $this->w_password) == true )
		{
			echo"fel användarnamn och lösenord";
			return false;
			
		}
		
		if($this->IsLoggedIn() == true )
		{
			echo "Något gick fel i IsLoggedIn";
			return false;
		}	
		
		//Kolla om lösen och användarnamn stämmer?
		if($this->DoLogin($this->c_username, $this->c_password) == false )
		{
			echo"rätt grejer";
			return false;
			
		}
		//Kollar därefter om man då är inloggad.
		if($this->IsLoggedIn() == false)
		{
			echo "Något gick fel i IsLoggedIn";
			return false;
		}	
		//Tar fram DoLogout igen.
		$this->DoLogout();
		
		if($this->IsLoggedIn() == true )
		{
			echo "Något gick fel i IsLoggedIn";
			return false;
		}
		
		//Kollar rätt användarnam med fel lösenord.
		if($this->DoLogin($this->c_username, $this->w_password) == true )
		{
			echo"fel lösenord";
			return false;
			
		}	
		
		//När alla tester har gått igenom kommer man hit.
		return true;
		
	}
}
